package com.carol.lmsbe.dto;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Positive;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDate;

/**
 * 设备申请更新请求DTO
 */
@Data
public class EquipmentApplicationUpdateRequest {

    @NotNull(message = "申请ID不能为空")
    private Long id;

    @NotNull(message = "申请日期不能为空")
    private LocalDate applicationDate;

    @NotBlank(message = "设备名称不能为空")
    private String equipmentName;

    @NotBlank(message = "设备类别不能为空")
    private String equipmentCategory;

    @NotNull(message = "申请数量不能为空")
    @Positive(message = "申请数量必须大于0")
    private Integer quantity;

    @NotNull(message = "预估单价不能为空")
    @Positive(message = "预估单价必须大于0")
    private BigDecimal unitPrice;

    @NotBlank(message = "申请原因不能为空")
    private String reason;

    private String status;

    private Long approverId;

    private LocalDate approvalDate;

    private String approvalComment;
}
